<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>巧用outline实现九宫格分隔</title>
    <style>
        /* 通用样式 */
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        /* 页面基础设置 */
        body {
            font-family: Arial, sans-serif;
            background-color: #f4f4f4;
            color: #333;
        }

        header {
            text-align: center;
            padding: 20px;
            background-color: #333;
            color: white;
        }

        h1 {
            font-size: 2.5rem;
        }

        p {
            font-size: 1.2rem;
        }

        /* Flexbox 容器 */
        .flexbox {
            display: flex;
            flex-wrap: wrap;
            gap: 16px;
            /* 为卡片间留出间距 */
            width: 100%;
            max-width: 1200px;
            margin: 40px auto;
            padding: 0 10px;
            outline: 1px solid #fff;
            outline-offset: -1px;
        }

        /* 单个卡片 */
        .child {
            flex: 1 1 33%;
            box-sizing: border-box;
            border: 1px solid #ddd;
            background-color: #fff;
            border-radius: 8px;
            overflow: hidden;
            padding: 16px;
            transition: transform 0.3s ease-in-out;
        }

        .child img {
            width: 100%;
            height: auto;
            border-radius: 4px;
            margin-bottom: 16px;
        }

        .child h3 {
            font-size: 1.5rem;
            margin-bottom: 10px;
        }

        .child p {
            font-size: 1rem;
            color: #555;
        }

        /* 卡片 hover 效果 */
        .child:hover {
            transform: translateY(-10px);
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
        }

        /* 小屏幕响应式 */
        @media (max-width: 768px) {
            .child {
                flex: 1 1 48%;
                /* 在中等屏幕上，卡片占据 2 列 */
            }
        }

        @media (max-width: 480px) {
            .child {
                flex: 1 1 100%;
                /* 在小屏幕上，卡片占据整行 */
            }
        }
    </style>
</head>

<body>
    <header>
        <h1>我的网站</h1>
        <p>展示一些有趣的卡片内容</p>
    </header>

    <main class="flexbox">
        <div class="child">
            <img src="https://via.placeholder.com/300" alt="Card 1">
            <h3>标题 1</h3>
            <p>这是一张图片卡片。</p>
        </div>
        <div class="child">
            <img src="https://via.placeholder.com/300" alt="Card 2">
            <h3>标题 2</h3>
            <p>这是一张图片卡片。</p>
        </div>
        <div class="child">
            <img src="https://via.placeholder.com/300" alt="Card 3">
            <h3>标题 3</h3>
            <p>这是一张图片卡片。</p>
        </div>
        <div class="child">
            <img src="https://via.placeholder.com/300" alt="Card 4">
            <h3>标题 4</h3>
            <p>这是一张图片卡片。</p>
        </div>
        <div class="child">
            <img src="https://via.placeholder.com/300" alt="Card 5">
            <h3>标题 5</h3>
            <p>这是一张图片卡片。</p>
        </div>
        <div class="child">
            <img src="https://via.placeholder.com/300" alt="Card 6">
            <h3>标题 6</h3>
            <p>这是一张图片卡片。</p>
        </div>
    </main>

    <footer>
        <p>&copy; 2024 我的公司</p>
    </footer>
</body>

</html>